home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 151-175 / 169 / src / shell / shell.h < prev    next >
C/C++ Source or Header  |  1995-03-13  |  3KB  |  111 lines

  1.  
  2. /*
  3.  * SHELL.H
  4.  *
  5.  * (c)1986-1988 Matthew Dillon     18 August 1988
  6.  *
  7.  *
  8.  * SHELL include file.. contains shell parameters and extern's
  9.  *
  10.  *
  11.  */
  12.  
  13. #include <local/typedefs.h>
  14.  
  15. /*#define FIBF_ARCHIVE      (1<<4)*/
  16.  
  17. #define MAXAV        128        /* Max. # arguments         */
  18. #define MAXSRC        5        /* Max. # of source file levels */
  19. #define MAXIF        10        /* Max. # of if levels        */
  20. #define MAXALIAS    20        /* Max. # of alias levels        */
  21.  
  22.  
  23. #define LEVEL_SET    0            /* which variable list to use   */
  24. #define LEVEL_ALIAS  1
  25. #define LEVEL_LABEL  2
  26.  
  27. #define V_PROMPT     "_prompt"      /* your prompt (ascii command)   */
  28. #define V_HIST         "_history"     /* set history depth (value)     */
  29. #define V_HISTNUM    "_histnum"     /* set history numbering var     */
  30. #define V_DEBUG      "_debug"       /* set debug mode                */
  31. #define V_VERBOSE    "_verbose"     /* set verbose for source files  */
  32. #define V_STAT         "_maxerr"      /* worst return value to date    */
  33. #define V_LASTERR    "_lasterr"     /* return value from last comm.  */
  34. #define V_CWD         "_cwd"         /* current directory             */
  35. #define V_EXCEPT     "_except"      /* "nnn;command"                 */
  36. #define V_PASSED     "_passed"      /* passed arguments to source fle*/
  37. #define V_PATH         "_path"        /* path prefix,prefix,prefix..   */
  38. #define V_IGNOREEOF  "_ignoreeof"   /* ignore EOF for interactive tty*/
  39. #define V_COPYSILENT "_copysilent"  /* silent copy                   */
  40. #define V_COPYDATE   "_copydate"    /* transport datestamp           */
  41.  
  42.  
  43.         /* EXECOM.C defines */
  44.  
  45. #define FL_DOLLAR    0x01  /* One of the following */
  46. #define FL_BANG      0x02
  47. #define FL_PERCENT   0x04
  48. #define FL_QUOTE     0x08
  49. #define FL_IDOLLAR   0x10  /* Any or all of the following may be set */
  50. #define FL_EOC         0x20
  51. #define FL_EOL         0x40
  52. #define FL_OVERIDE   0x80
  53. #define FL_WILD      0x100
  54. #define FL_MASK      (FL_DOLLAR|FL_BANG|FL_PERCENT|FL_QUOTE)
  55.  
  56. #define VERSION   "V2.10 (C)Copyright 1986-88 Matthew Dillon, All Rights Reserved, 18 August 1988"
  57.  
  58. #ifndef NULL
  59. #define NULL 0L
  60. #endif
  61.  
  62. #define CHECKBREAK()    docheckbreak()
  63.  
  64. struct HIST {
  65.    struct HIST *next, *prev;     /* doubly linked list */
  66.    char *line;             /* line in history    */
  67. };
  68.  
  69. struct PERROR {
  70.    short errnum;         /* Format of global error lookup */
  71.    char *errstr;
  72. };
  73.  
  74. struct DPTR {             /* Format of directory fetch pointer */
  75.    struct FileLock *lock;     /* lock on directory    */
  76.    struct FileInfoBlock *fib;     /* mod'd fib for entry */
  77. };
  78.  
  79. extern struct HIST *H_head, *H_tail;
  80. extern struct PERROR Perror[];
  81. extern struct DPTR *dopen();
  82. extern char *set_var(), *get_var(), *next_word();
  83. extern char *get_history(), *compile_av();
  84. extern char *strcpy(), *strcat(), *gets(), *Ogets();
  85. extern char **expand();
  86. extern long FindIt();
  87.  
  88.  
  89. extern char *av[];
  90. extern char *Current;
  91. extern short H_len, H_tail_base, H_stack;
  92. extern short E_stack;
  93. extern short Src_stack, If_stack;
  94. extern short ac;
  95. extern short SDebug, Verbose, SDisable, Quit;
  96. extern long Lastresult;
  97. extern short Exec_abortline, Exec_ignoreresult;
  98. extern short S_histlen, S_ignoreeof;
  99. extern long Uniq;
  100. extern long Cin, Cout, Cerr, Cout_append;
  101. extern char *Cin_name, *Cout_name;
  102. extern char  Cin_type,    Cout_type;  /* these variables are in transition */
  103. extern char *Pipe1, *Pipe2;
  104. extern long DResBase;
  105.  
  106. extern int  Src_base[MAXSRC];
  107. extern long Src_pos[MAXSRC];
  108. extern char If_base[MAXIF];
  109.  
  110.  
  111.